]> dgit.raspbian.org Git - gnome-shell.git/log
gnome-shell.git
9 months agoslider: Add mark snapping support
revisto [Mon, 22 Dec 2025 21:32:32 +0000 (01:02 +0330)]
slider: Add mark snapping support

Add API to add and clear marks, similar to GtkScale. The
slider value will snap to a mark when close to it, making
it easy for the user to position the slider exactly at
the mark's value.

The unsnapped value is still tracked internally, to allow
escaping snap zones when the scroll step is smaller than
the snap threshold.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4004>

9 months agoci: Use meson setup and remove deprecated option --fs-capture-search
Gabriel Poliker-Paul [Fri, 30 Jan 2026 22:12:49 +0000 (22:12 +0000)]
ci: Use meson setup and remove deprecated option --fs-capture-search

meson with options has been deprecated for a while, and it may be fully
phased out soon.

For Coverity, --fs-capture-search was deprecated in 2019.09 and has been
fully removed for almost 2 years[0].

[0] https://documentation.blackduck.com/bundle/coverity-docs-2024.6/page/coverity-analysis/topics/moving_from_filesystem_capture_to_the_coverity_cli.html

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4059>

9 months agogdm/util: Do not run dispose on user verifier
Marco Trevisan (Treviño) [Wed, 17 Sep 2025 17:06:55 +0000 (19:06 +0200)]
gdm/util: Do not run dispose on user verifier

This is not a good habit anywhere and especially in JS code, I assume
the rationale for this was to ensure that cached instances of the proxy
were cleared, but this did not work properly (as it happened on
finalize), and it would still require [1].

So let's just avoid this and assume that the getters just return what we
expect.

[1] https://gitlab.gnome.org/GNOME/gdm/-/merge_requests/321

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3885>

9 months agogdm/util: Clear the request if user verifier connection is closed
Marco Trevisan (Treviño) [Wed, 17 Sep 2025 17:04:46 +0000 (19:04 +0200)]
gdm/util: Clear the request if user verifier connection is closed

Similarly to previous commit, in case the user verifier connection is
closed we should just clear the user verifier instance, since starting
from this point is going to be just invalid.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3885>

9 months agogdm/loginDialog: Reset the greeter proxy on connection closed
Marco Trevisan (Treviño) [Wed, 17 Sep 2025 16:26:17 +0000 (18:26 +0200)]
gdm/loginDialog: Reset the greeter proxy on connection closed

If gdm fails to start the display session the greeter proxy we are using
gets disconnected, however since commit 56ea95f2 we are now preserving
the greeter instance, and this will eventually lead to using an instance
of a disconnected proxy.

This eventually implies that after a login failure, we would never get
the `::session-opened` signal that actually triggers the session start.

And thus, even the user has properly authenticated, gdm will stick to
the authentication page.

So, instead of reverting such commit (that isn't wrong per se), consume
the greeter proxy connection `::closed` signal and use it to
re-initialize the greeter instance.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3885>

9 months agoUpdate French translation
Jean-Marc TISSIERES [Mon, 2 Feb 2026 13:18:34 +0000 (13:18 +0000)]
Update French translation

9 months agoUpdate Catalan translation
Victor Dargallo [Sun, 1 Feb 2026 20:26:20 +0000 (20:26 +0000)]
Update Catalan translation

9 months agoUpdate Bulgarian translation
twlvnn kraftwerk [Sun, 1 Feb 2026 09:38:07 +0000 (09:38 +0000)]
Update Bulgarian translation

9 months agoUpdate Thai translation
Aefgh Threenine [Sat, 31 Jan 2026 10:34:11 +0000 (10:34 +0000)]
Update Thai translation

(cherry picked from commit 156a171bf341c603ca3270759714ae9b8db6babf)

9 months agoUpdate Lithuanian translation
Aurimas Aurimas Černius [Fri, 30 Jan 2026 21:48:42 +0000 (21:48 +0000)]
Update Lithuanian translation

9 months agobreakManager: Use uninhibitable idle watch
Sebastian Keller [Tue, 6 May 2025 00:40:18 +0000 (02:40 +0200)]
breakManager: Use uninhibitable idle watch

If we use a regular idle watch, any session inhibitors can prevent the
watch from triggering, leading to the break manager to never consider
the break as having been completed until the inhibitor is gone. This
could lead to situations in which the system appears to be stuck with
a dimmed screen.

Also start the idle time when the idle watch is created, otherwise any
previous idle time would count towards it, causing the watch to trigger
early, leaving it inconsistent with the rest of the break manager state.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8378
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3709>

9 months agoUpdate Hebrew translation
Yaron Shahrabani [Fri, 30 Jan 2026 10:09:17 +0000 (10:09 +0000)]
Update Hebrew translation

9 months agoUpdate Kazakh translation
Baurzhan Muftakhidinov [Fri, 30 Jan 2026 02:00:07 +0000 (02:00 +0000)]
Update Kazakh translation

9 months agojs: Use one-shot idle/timeout functions
Florian Müllner [Fri, 31 Oct 2025 17:14:14 +0000 (18:14 +0100)]
js: Use one-shot idle/timeout functions

gjs now provides overrides for GLib's one-shot idle/timeout
functions, so use them to save a bit of code and clearly
indicate that a callback is only invoked once.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3947>

9 months agoextensions-app: Use one-shot idle/timeout functions
Florian Müllner [Fri, 31 Oct 2025 17:13:54 +0000 (18:13 +0100)]
extensions-app: Use one-shot idle/timeout functions

gjs now provides overrides for GLib's one-shot idle/timeout
functions, so use them to save a bit of code and clearly
indicate that a callback is only invoked once.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3947>

9 months agohotplut-sniffer: Use one-shot idle/timeout functions
Florian Müllner [Thu, 29 Jan 2026 13:29:58 +0000 (14:29 +0100)]
hotplut-sniffer: Use one-shot idle/timeout functions

GLib added one-shot variants of the idle/timeout functions a while ago.

While they don't save a lot of code, they serve as a clear marker that
the callback is only invoked once.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3947>

9 months agotray: Use one-shot idle/timeout functions
Florian Müllner [Fri, 31 Oct 2025 17:13:32 +0000 (18:13 +0100)]
tray: Use one-shot idle/timeout functions

GLib added one-shot variants of the idle/timeout functions a while ago.

While they don't save a lot of code, they serve as a clear marker that
the callback is only invoked once.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3947>

9 months agost: Use one-shot idle/timeout functions
Florian Müllner [Fri, 31 Oct 2025 17:13:04 +0000 (18:13 +0100)]
st: Use one-shot idle/timeout functions

GLib added one-shot variants of the idle/timeout functions a while ago.

While they don't save a lot of code, they serve as a clear marker that
the callback is only invoked once.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3947>

9 months agoshell: Use one-shot idle/timeout functions
Florian Müllner [Fri, 31 Oct 2025 16:57:20 +0000 (17:57 +0100)]
shell: Use one-shot idle/timeout functions

GLib added one-shot variants of the idle/timeout functions a while ago.

While they don't save a lot of code, they serve as a clear marker that
the callback is only invoked once.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3947>

9 months agostatus/keyboard: Adapt to external source of keyboard layout
Jonas Ådahl [Fri, 3 Oct 2025 15:02:37 +0000 (17:02 +0200)]
status/keyboard: Adapt to external source of keyboard layout

This adapts to API changes that allow an external source (e.g. remote
desktop API user) to control the current keyboard layout. This is done
in two ways:

If the external keyboard source sets the keymap as "locked", the
indicator is fixed to the short name of the external source, and will
change the indicator label when the layout index is changed accordingly.
The builtin input sources are not selectable, and the keyboard selection
keybinding is disabled.

If the external keyboard source doesn't set the keymap as "locked",
whenever the current keymap is from an external source, it's indicated
as a non-sensitive but selected input source. Selecting another keyboard
layout overrides the one selected by the external entity.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3901>

9 months agoci: Bump mutter image
Florian Müllner [Thu, 29 Jan 2026 14:29:05 +0000 (15:29 +0100)]
ci: Bump mutter image

… to pull in a more recent gjs version.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4055>

9 months agogdm/util: Set minimum display time for authentication messages
Joan Torres Lopez [Wed, 28 Jan 2026 17:01:26 +0000 (18:01 +0100)]
gdm/util: Set minimum display time for authentication messages

Short messages like "PIN locked" were previously displayed for only
480ms (10 chars × 48ms), making them impossible to read. Ensure all
messages are shown for at least 2 seconds.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4054>

9 months agoquickSettingsMenu: Add actor group to focus manager
Ramez Medhat [Wed, 21 Jan 2026 15:28:22 +0000 (17:28 +0200)]
quickSettingsMenu: Add actor group to focus manager

This allows focus to menu item using the tab key to match the behaviour in other menus.
Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8904

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4043>

9 months agoshell-app: Improve discrete GPU detection
Jan200101 [Sun, 25 Jan 2026 21:33:49 +0000 (22:33 +0100)]
shell-app: Improve discrete GPU detection

The original logic only took into account if a GPU is the "Default",
meaning the GPU used during boot, which was intended for Laptops with
Hybrid Graphics.

The new logic uses the new Discrete key to figure out which GPU is the
most appropriate to use in order of:
- the first non-default GPU if it is discrete
- the first discrete GPU if it exists
- the first non-default GPU

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3193>

9 months agoendSessionDialog: Remove unused UPGRADE_RESTART dialog data
Milan Crha [Tue, 13 Jan 2026 16:49:27 +0000 (17:49 +0100)]
endSessionDialog: Remove unused UPGRADE_RESTART dialog data

The gnome-software D-Bus OfflineUpdates API does not distinguish
between offline updates and offline upgrades, thus the UPGRADE_RESTART
dialog data are not used and can be dropped.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4034>

9 months agoendSessionDialog: Switch from PackageKit offline updates API to gnome-software
Milan Crha [Tue, 13 Jan 2026 13:45:32 +0000 (14:45 +0100)]
endSessionDialog: Switch from PackageKit offline updates API to gnome-software

Let the endSessionDialog depend on gnome-software when deciding whether
any offline updates are scheduled and what to after applying them,
instead of using PackageKit, which is not included in distributions
using rpm-ostree and similar.

Another advantage is rather than implementing similar calls for various
package managers and systems in gnome-shell, these implementations should
go into the gnome-software, which should know about them already.

Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7784

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4034>

9 months agoci: Bump mutter image
Florian Müllner [Tue, 27 Jan 2026 14:36:23 +0000 (15:36 +0100)]
ci: Bump mutter image

The previous image contained a buggy GTK snapshot that would result
in compile failures in some components.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4052>

9 months agoUpdate Uighur translation
Abduqadir Abliz [Tue, 27 Jan 2026 15:12:32 +0000 (15:12 +0000)]
Update Uighur translation

9 months agoappDisplay: Only create default folders on the first start
Sebastian Keller [Sat, 24 Jan 2026 17:15:43 +0000 (18:15 +0100)]
appDisplay: Only create default folders on the first start

If all folders were removed, after a session restart the default folders
would have been recreated again, effectively preventing users from
using the app grid without folders.

Avoid this problem by only creating the default folders if the
folder-children setting has never been modified before.

Related: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8713
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4047>

9 months agobuild: Update libgnome-volume-control revision
Carlos Garnacho [Sun, 25 Jan 2026 08:28:11 +0000 (09:28 +0100)]
build: Update libgnome-volume-control revision

This should fix the crashes seen with bluetooth headsets recently.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4048>

9 months agoUpdate Chinese (Taiwan) translation
Cheng-Chia Tseng [Mon, 26 Jan 2026 14:35:20 +0000 (14:35 +0000)]
Update Chinese (Taiwan) translation

9 months agoUpdate Russian translation
Artur S0 [Mon, 26 Jan 2026 08:27:40 +0000 (08:27 +0000)]
Update Russian translation

9 months agoUpdate Ukrainian translation
Yuri Chornoivan [Mon, 26 Jan 2026 00:55:57 +0000 (00:55 +0000)]
Update Ukrainian translation

9 months agoUpdate Cornish translation
Flynn Peck [Sun, 25 Jan 2026 22:27:02 +0000 (22:27 +0000)]
Update Cornish translation

9 months agoUpdate Occitan translation
Quentin PAGÈS [Sun, 25 Jan 2026 17:22:39 +0000 (17:22 +0000)]
Update Occitan translation

9 months agoUpdate Georgian translation
Ekaterine Papava [Sun, 25 Jan 2026 09:52:43 +0000 (09:52 +0000)]
Update Georgian translation

9 months agoUpdate Brazilian Portuguese translation
Rafael Fontenelle [Thu, 22 Jan 2026 17:57:17 +0000 (17:57 +0000)]
Update Brazilian Portuguese translation

9 months agodocs: Update valgrind instructions after systemd unit overhaul
Sebastian Keller [Wed, 21 Jan 2026 17:47:49 +0000 (18:47 +0100)]
docs: Update valgrind instructions after systemd unit overhaul

The unit is now run as org.gnome.Shell@user.service and there is no more
x11 variant.

See: https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3960
See: https://gitlab.gnome.org/GNOME/gnome-session/-/merge_requests/167
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4044>

9 months agost/spinner-content: Fix CoglTexture leak
Sebastian Keller [Wed, 21 Jan 2026 18:50:33 +0000 (19:50 +0100)]
st/spinner-content: Fix CoglTexture leak

Most of the members were getting indirectly freed via the
st_spinner_content_set_actor (spinner, NULL) and the subsequent
st_spinner_content_invalidate () on destruction of the actor or
changing of its content when the spinner is stopped.
The texture however was not freed.

This now frees all members explicitly on finalize.

208 (96 direct, 112 indirect) bytes in 1 blocks are definitely lost in loss record 20,960 of 22,464
   at 0x4D37833: g_type_create_instance (gtype.c:1877)
   by 0x4D1C186: g_object_new_internal.part.0 (gobject.c:2666)
   by 0x4D1E0FA: g_object_new_internal (gobject.c:2982)
   by 0x4D1E0FA: g_object_new_valist (gobject.c:3004)
   by 0x4D1E488: g_object_new (gobject.c:2479)
   by 0x5A8B7CB: _cogl_texture_2d_create_base (cogl-texture-2d.c:84)
   by 0x572D668: st_spinner_content_paint_content (st-spinner-content.c:175)
   by 0x50D2C07: clutter_actor_paint_node (clutter-actor.c:3471)
   by 0x50D2C07: clutter_actor_continue_paint (clutter-actor.c:3726)
   by 0x511D4F9: clutter_paint_node_paint (clutter-paint-node.c:867)
   by 0x50D9717: clutter_actor_paint (clutter-actor.c:3670)
   by 0x574199A: st_viewport_paint (st-viewport.c:483)
   by 0x50D2C42: clutter_actor_continue_paint (clutter-actor.c:3728)
   by 0x511D4F9: clutter_paint_node_paint (clutter-paint-node.c:867)

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4045>

9 months agoAdd Cornish translation
Flynn Peck [Wed, 21 Jan 2026 13:30:51 +0000 (13:30 +0000)]
Add Cornish translation

9 months agopanel: Use click gesture to trigger window dragging from panel
Carlos Garnacho [Wed, 8 Oct 2025 17:11:37 +0000 (19:11 +0200)]
panel: Use click gesture to trigger window dragging from panel

This gesture is set up on the target phase, in order to ensure only button
presses on the panel itself (and not actors within it) are handled as window
drags.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4021>

9 months agostatus/keyboard: Drop return value from signal handler
Carlos Garnacho [Tue, 13 Jan 2026 13:11:37 +0000 (14:11 +0100)]
status/keyboard: Drop return value from signal handler

The MetaDisplay::modifiers-accelerator-activated signal no longer
requires a boolean return value.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4020>

9 months agounlockDialog: Drop seat state check after grab
Carlos Garnacho [Tue, 30 Dec 2025 13:40:37 +0000 (14:40 +0100)]
unlockDialog: Drop seat state check after grab

Grabs are non-failable now, we do not need to check for
the backend seat actually having been able to perform the
request.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4020>

9 months agoswitcherPopup: Drop seat state check after grabs
Carlos Garnacho [Tue, 30 Dec 2025 13:40:06 +0000 (14:40 +0100)]
switcherPopup: Drop seat state check after grabs

Grabs are non-failable now, we do not need to check for
the backend seat actually having been able to perform the
request.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4020>

9 months agoscreenShield: Drop seat state check after grabs
Carlos Garnacho [Tue, 30 Dec 2025 13:39:05 +0000 (14:39 +0100)]
screenShield: Drop seat state check after grabs

Grabs are non-failable now, we do not need to check for
the backend seat actually having been able to perform the
request.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4020>

9 months agooverview: Drop seat state check after grab
Carlos Garnacho [Tue, 30 Dec 2025 13:36:47 +0000 (14:36 +0100)]
overview: Drop seat state check after grab

Grabs are non-failable now, we do not need to check for
the backend seat actually having been able to perform the
request.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4020>

9 months agomodalDialog: Drop seat state check after grabs
Carlos Garnacho [Tue, 30 Dec 2025 13:36:18 +0000 (14:36 +0100)]
modalDialog: Drop seat state check after grabs

Grabs are non-failable now, we do not need to check for
the backend seat actually having been able to perform the
request.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4020>

9 months agolookingGlass: Drop seat state check after grabs
Carlos Garnacho [Tue, 30 Dec 2025 13:35:50 +0000 (14:35 +0100)]
lookingGlass: Drop seat state check after grabs

Grabs are non-failable now, we do not need to check for
the backend seat actually having been able to perform the
request.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4020>

9 months agograbHelper: Drop seat state check after grab
Carlos Garnacho [Tue, 30 Dec 2025 13:35:21 +0000 (14:35 +0100)]
grabHelper: Drop seat state check after grab

Grabs are non-failable now, we do not need to check for
the backend seat actually having been able to perform the
request.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4020>

9 months agodnd: Drop seat state check
Carlos Garnacho [Tue, 30 Dec 2025 13:34:00 +0000 (14:34 +0100)]
dnd: Drop seat state check

Grabs are non-failable now, we do not need to check for
the backend seat actually having been able to perform the
request.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4020>

9 months agokeyboardManager: Remove unnecessary calls
Carlos Garnacho [Tue, 30 Dec 2025 11:36:57 +0000 (12:36 +0100)]
keyboardManager: Remove unnecessary calls

There is no longer need to freeze/unfreeze/ungrab the keyboard.
This API was only effective in the X11 backend.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4020>

9 months agoworkspaceAnimation: Perform a grab during workspace switch gestures
Carlos Garnacho [Tue, 30 Dec 2025 12:24:41 +0000 (13:24 +0100)]
workspaceAnimation: Perform a grab during workspace switch gestures

Currently, the mechanism to reclaim touch input from clients and into
the gesture is somewhat indirect:
- The swipeTracker gesture(s) will enter in a recognized state
- The MetaGestureTracker will notice the recognized state on a gesture
  set up in the ClutterStage actor, and emit META_SEQUENCE_ACCEPTED
  on the sequence
- The core will notice the sequence being accepted and call
  meta_display_cancel_touch()/meta_wayland_touch_cancel()
- This eventually results in wl_touch.cancel on the affected client(s)

This is a bit too convoluted and special cased, so claim input using
a more traditional way: Using a Clutter grab. This will also result in
touch being cancelled on the Wayland side. This will happen along with
other input, but that's actually a consistence improvemente, since the
other method would not prevent other input (e.g. pointer) while the
workspace gesture is ongoing. This results in glitchy behavior if
multiple input devices are used simultaneously.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4020>

9 months agoUpdate Norwegian Bokmål translation
Kjartan Maraas [Mon, 19 Jan 2026 14:49:02 +0000 (14:49 +0000)]
Update Norwegian Bokmål translation

9 months agoUpdate Turkish translation
Sabri Ünal [Mon, 19 Jan 2026 12:05:59 +0000 (12:05 +0000)]
Update Turkish translation

9 months agoscreenshot: Port to cursors set through ClutterActor
Carlos Garnacho [Wed, 5 Nov 2025 14:00:25 +0000 (15:00 +0100)]
screenshot: Port to cursors set through ClutterActor

Use the UIAreaIndicator, SelectArea and PickPixel actors for
this interaction, instead of a globally set cursor.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3952>

9 months agopointerA11yTimeout: Set the cursor through ClutterActor API
Carlos Garnacho [Wed, 5 Nov 2025 11:41:02 +0000 (12:41 +0100)]
pointerA11yTimeout: Set the cursor through ClutterActor API

Set the cursor on the stage. This differs with the "root" cursor
approach in that actors with a non-inherited cursor (e.g. I-beam on
text actors) will stick to that instead of showing the cursor as
set here.

If that's turns out not to be enough, might make sense to move this
piece of a11y feedback to Mutter.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3952>

9 months agomessageList: Use Clutter cursors
Carlos Garnacho [Wed, 5 Nov 2025 11:40:18 +0000 (12:40 +0100)]
messageList: Use Clutter cursors

Set the hand cursor on URLs through ClutterActor API, instead of
globally.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3952>

9 months agodnd: Adapt to Clutter cursors
Carlos Garnacho [Wed, 5 Nov 2025 11:39:16 +0000 (12:39 +0100)]
dnd: Adapt to Clutter cursors

Set the expected drag and drop cursor through the grab actor instead
of globally.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3952>

9 months agost: Set I-beam cursor on StEntry through Clutter API
Carlos Garnacho [Wed, 5 Nov 2025 12:26:40 +0000 (13:26 +0100)]
st: Set I-beam cursor on StEntry through Clutter API

This also means we can drop the special shell hooks to actually
set a cursor with MetaDisplay API.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3952>

9 months agoUpdate Romanian translation
Antonio Marin [Sat, 17 Jan 2026 21:26:55 +0000 (21:26 +0000)]
Update Romanian translation

9 months agoUpdate Kabyle translation
BoF ButterflyOfFire [Sat, 17 Jan 2026 12:25:11 +0000 (12:25 +0000)]
Update Kabyle translation

9 months agoUpdate Slovenian translation
Martin [Thu, 15 Jan 2026 22:00:02 +0000 (22:00 +0000)]
Update Slovenian translation

9 months agoauthPrompt: Focus entry after extending session
Ignacy Kuchciński [Fri, 9 Jan 2026 14:14:23 +0000 (15:14 +0100)]
authPrompt: Focus entry after extending session

Re-focus password entry after ignoring screen time limits for the rest
of the day.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3999>

9 months agoauthPrompt: Implement screen time ignore button
Ignacy Kuchciński [Fri, 12 Dec 2025 01:32:45 +0000 (02:32 +0100)]
authPrompt: Implement screen time ignore button

Implement screen time ignore button which allows the parent to extend
the child’s computer time for the rest of the day.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/work_items/8578
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3999>

9 months agopolkitAgent: Allow malcontent action when locked
Ignacy Kuchciński [Sat, 3 Jan 2026 15:17:45 +0000 (16:17 +0100)]
polkitAgent: Allow malcontent action when locked

Allow org.freedesktop.Malcontent.SessionLimits.Extend action id when
screen is locked, so it's possible to show polkit authentication dialogs
on lock screen for parental controls session limits integration in the
future.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3999>

9 months agodbus-interfaces: Update MalcontentTimer child interface
Ignacy Kuchciński [Fri, 12 Dec 2025 01:29:35 +0000 (02:29 +0100)]
dbus-interfaces: Update MalcontentTimer child interface

Update org.freedesktop.MalcontentTimer1.Child interface to include the
new screen time extensions functionality.

The interface has been updated from https://gitlab.freedesktop.org/pwithnall/malcontent/-/blob/main/libmalcontent-timer/org.freedesktop.MalcontentTimer1.Child.xml,
and it has not been modified after being copied.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3999>

9 months agounlockDialog: Block auth when limit reached
Ignacy Kuchciński [Tue, 25 Nov 2025 04:48:20 +0000 (05:48 +0100)]
unlockDialog: Block auth when limit reached

Block ability to authenticate when screen time limit is reached, so
that the child cannot unlock.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/work_items/8577
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3980>

9 months agoauthPrompt: Add ability to block authentication
Ignacy Kuchciński [Tue, 2 Dec 2025 23:51:44 +0000 (00:51 +0100)]
authPrompt: Add ability to block authentication

Make it possible to prevent the user from using the authentication
prompt, by showing the parental controls shield instead of the password
entry.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3980>

9 months agoauthPrompt: Group prompt elements
Ignacy Kuchciński [Wed, 3 Dec 2025 14:43:18 +0000 (15:43 +0100)]
authPrompt: Group prompt elements

Group various prompt related elements together, so it's easier in the
future to hide them when parental controls session limits are enforced.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3980>

9 months agoBump version to 50.alpha
Florian Müllner [Tue, 13 Jan 2026 20:31:20 +0000 (21:31 +0100)]
Bump version to 50.alpha

Update NEWS.

9 months agobuild: Depend on gsettings-desktop-schemas 50.alpha
Florian Müllner [Wed, 14 Jan 2026 09:48:11 +0000 (10:48 +0100)]
build: Depend on gsettings-desktop-schemas 50.alpha

Needed for the week-start-day setting.

9 months agocalendar: Set weekStart from the week-start-day setting
Evan Paterakis [Tue, 13 Jan 2026 06:13:49 +0000 (08:13 +0200)]
calendar: Set weekStart from the week-start-day setting

Honor the new `org.gnome.desktop.calendar.week-start-day` schema key that
determines the starting week day of the calendar

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5040
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4026>

9 months agoBump mutter image
Florian Müllner [Wed, 14 Jan 2026 09:17:20 +0000 (10:17 +0100)]
Bump mutter image

Pull in a newer gsettings-desktop-schemas, so that we can support
the new week-start-day setting.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4037>

9 months agopo: Update POTFILES.skip
Florian Müllner [Mon, 12 Jan 2026 13:49:37 +0000 (14:49 +0100)]
po: Update POTFILES.skip

Commit 0eb754a084 simplified the systemd units, update POTFILES
to reflect that change.

Fixes: 0eb754a084 ("data: Overhaul systemd units")
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4031>

9 months agoci: Bump mutter image
Florian Müllner [Mon, 12 Jan 2026 19:19:04 +0000 (20:19 +0100)]
ci: Bump mutter image

Pull in a newer GTK version with session save/restore support, so
the Extension app can more easily start to use that API.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4032>

9 months agomessageList: Fix double async in method name
Julian Sparber [Thu, 25 Dec 2025 22:07:43 +0000 (23:07 +0100)]
messageList: Fix double async in method name

This was probably introduced by mistake in
https://gitlab.gnome.org/GNOME/gnome-shell/-/commit/04cab9ee9e03720c1da819f2a25b0af954f99460

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4018>

9 months agoshellDBus: Add new BrightnessChanged signal to brightness interface
Carlos Garnacho [Mon, 24 Nov 2025 16:16:57 +0000 (17:16 +0100)]
shellDBus: Add new BrightnessChanged signal to brightness interface

This does actually track user-triggered changes, so other pieces
(i.e. gsd-power) can react to this. This will help in reintroducing
brightness re-normalization when brightness is driven by ALS sensors.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3979>

9 months agobrightnessManager: Emit signal on user changes
Carlos Garnacho [Mon, 24 Nov 2025 16:15:53 +0000 (17:15 +0100)]
brightnessManager: Emit signal on user changes

This will be useful to let other pieces know of user-triggered
brightness changes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3979>

9 months agolayout: Drop fallback for hot corner without barriers
Carlos Garnacho [Tue, 23 Dec 2025 14:09:09 +0000 (15:09 +0100)]
layout: Drop fallback for hot corner without barriers

The BARRIER backend capability was been moot for a long time since
XInput 2.4 became widespread and barriers became commonplace. And
even further recently with the removal of the X11 backend. The
native backend has always implemented barriers.

It seems we can drop this fallback handling. Since the _entered flag
was only used in those paths, the leave event vfunc is unnecessary too.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4016>

9 months agoUpdate Basque translation
Ibai Oihanguren Sala [Mon, 12 Jan 2026 09:03:50 +0000 (09:03 +0000)]
Update Basque translation

9 months agoUpdate Russian translation
Artur S0 [Sun, 11 Jan 2026 22:31:40 +0000 (22:31 +0000)]
Update Russian translation

9 months agoUpdate Romanian translation
Antonio Marin [Fri, 9 Jan 2026 09:27:06 +0000 (09:27 +0000)]
Update Romanian translation

9 months agoUpdate Norwegian Bokmål translation
Kjartan Maraas [Thu, 8 Jan 2026 23:13:11 +0000 (23:13 +0000)]
Update Norwegian Bokmål translation

(cherry picked from commit f45fd092fbafe4537a3fde4ef7959d026946bc8a)

9 months agoUpdate Norwegian Bokmål translation
Kjartan Maraas [Thu, 8 Jan 2026 23:09:01 +0000 (23:09 +0000)]
Update Norwegian Bokmål translation

(cherry picked from commit 9957a754ee77896f30e1effae891a5289a27788e)

9 months agoUpdate Kazakh translation
Baurzhan Muftakhidinov [Thu, 8 Jan 2026 16:11:17 +0000 (16:11 +0000)]
Update Kazakh translation

(cherry picked from commit 86dabcd65d10c9df0107ed384f0e0b7da391d42c)

10 months agoUpdate Romanian translation
Antonio Marin [Tue, 6 Jan 2026 22:12:56 +0000 (22:12 +0000)]
Update Romanian translation

10 months agoUpdate Romanian translation
Antonio Marin [Tue, 6 Jan 2026 13:48:30 +0000 (13:48 +0000)]
Update Romanian translation

10 months agojs: Don't reset selected tab index in open() of looking glass
sudigit [Sat, 3 Jan 2026 15:24:24 +0000 (20:54 +0530)]
js: Don't reset selected tab index in open() of looking glass

The looking glass will reopen with the previously opened tab.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8294
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4027>

10 months agoUpdate Romanian translation
Antonio Marin [Sat, 3 Jan 2026 17:37:44 +0000 (17:37 +0000)]
Update Romanian translation

10 months agoUpdate Japanese translation
Makoto Sakaguchi [Tue, 30 Dec 2025 05:55:47 +0000 (05:55 +0000)]
Update Japanese translation

10 months agoUpdate Occitan translation
Quentin PAGÈS [Fri, 26 Dec 2025 09:18:25 +0000 (09:18 +0000)]
Update Occitan translation

10 months agoUpdate Interlingua translation
Emilio Sepúlveda [Thu, 25 Dec 2025 00:27:31 +0000 (00:27 +0000)]
Update Interlingua translation

10 months agoUpdate Uzbek (Latin) translation
Baxrom Raxmatov [Wed, 24 Dec 2025 14:42:53 +0000 (14:42 +0000)]
Update Uzbek (Latin) translation

(cherry picked from commit d780f7a32bc573b867ce9b19199a482767674ba1)

10 months agoUpdate Slovenian translation
Martin [Sun, 21 Dec 2025 08:03:08 +0000 (08:03 +0000)]
Update Slovenian translation

10 months agoUpdate Portuguese translation
Hugo Carvalho [Sat, 20 Dec 2025 11:00:54 +0000 (11:00 +0000)]
Update Portuguese translation

(cherry picked from commit d0c62825ccdc1ad6b4d9c5d829f3eaf08009085a)

10 months agokeyboard: Call ibusManager.setEngine() with actual layout
Takao Fujiwara [Wed, 29 Oct 2025 12:34:22 +0000 (21:34 +0900)]
keyboard: Call ibusManager.setEngine() with actual layout

Currently ibusManager.setEngine() is always called with 'xkb:us::eng'
US layout name but the actual language layout is more useful for IBus.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8490
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3784>

10 months agoanimationUtils: Use easeAsync() for wiggle
Florian Müllner [Thu, 27 Nov 2025 10:28:23 +0000 (11:28 +0100)]
animationUtils: Use easeAsync() for wiggle

The wiggle animation consists of 3 chained animations. This is
expressed a lot nicer with a series of async calls than nested
callbacks.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4007>

10 months agojs: Stop wrapping ease() in promise
Florian Müllner [Tue, 2 Dec 2025 14:32:16 +0000 (15:32 +0100)]
js: Stop wrapping ease() in promise

We can now use the async variants instead.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4007>

10 months agoenvironment: Add async ease variants
Florian Müllner [Thu, 19 Dec 2019 22:07:55 +0000 (23:07 +0100)]
environment: Add async ease variants

Ease functions can be used nested, and often need to complete before
performing an action.

This is currently handled by providing onComplete/onStopped callbacks,
which can get tedious when nesting.

To make these cases more convenient, add async variants that return
a promise that is resolved when the transition completes, so that
callers can await the result instead.

In case the transition was interrupted, the promise is rejected with a
CANCELLED error, so that it stops a promises chain and can easily be
filtered out in catch handlers.

Base on an original patch by Marco Trevisan.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3948>

10 months agocalendar: Center align "No Notifications" text
revisto [Wed, 17 Dec 2025 21:13:47 +0000 (00:43 +0330)]
calendar: Center align "No Notifications" text

The "No Notifications" placeholder was left-aligned instead of
centered, which looked unbalanced in the empty notification state.
Fix by centering the label.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8913
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4005>